package com.demo.collection;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;

/**
 * @author wangning
 * @date 2023/4/27 17:49
 */
public class Array2List {
    public static void main(String[] args) {
        /*
         * 1. Arrays.asList( );
         * 注意该方法的返回值是java.util.Arrays类中一个私有静态内部类java.util.Arrays.ArrayList，
         * 它并非java.util.ArrayList类。
         * java.util.Arrays.ArrayList类具有set()，get()，contains()等方法，
         * 但是不支持添加add()或删除remove()方法,调用这些方法会报错。
         * 也就是说，此种方法残缺：重新得到的 list  不能 add( ) 或者 remove( );
         */
        // 因为list中是包装类。所以数组创建时也需要使用包装类
        Integer[] num = new Integer[]{1, 2, 3, 4, 5, 6, 7, 8, 9};
        List<Integer> list = Arrays.asList(num);
        // 此时得到的list 不能 使用 add() 与 remove()方法；
        // 解决办法：
        // 创建一个新的list 对象，将残缺的list加入进去
        List<Integer> list1 = new ArrayList<>(list);

        /*
         * 2、Collections.addAll( );（此种方法最实用）
         * 直接创建一个新的 list 对象，然后使用Collections.addAll( ) 方法。
         */
        Integer[] num2 = new Integer[]{1, 2, 3, 4, 5, 6, 7, 8, 9};
        List<Integer> list2 = new ArrayList<>();
        Collections.addAll(list2, num2);
    }
}
